// 一、表单校验
// 1.1 解构出layui对象中的form对象,制定验证规则
const { form } = window.layui;
// 1.2 自定义验证规则
form.verify({
    //value：表单的值、item：表单的DOM对象
    // username: function(value, item) {},
    //我们既支持上述函数式的方式，也支持下述数组的形式
    //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
    // password: [/^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'],

    // 1.3 注册/登录 的验证规则
    // 用户名验证
    username: [/^[a-z0-9]{6,10}$/, '账号名是6到10位由数字, 小写字母组成'],
    // 密码验证
    password: [/^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'],
    // 确认密码验证
    confirmpwd: function(value, item) {
        return ($('.pwd').val().trim() !== value) && '两次密码不一致,请重新输入'
    },

    // 1.4 个人信息页面,昵称只能是中文
    nickn: [/^[\u4E00-\u9FA5]+$/, '昵称只能是中文'],

    // 1.5 个人信息页面,更改密码不能与原密码一样
    diff: value => {
        if ($('.oldPwd').val().trim() == value) {
            return '新旧密码不能相同'
        }
    },
    // 1.6 个人信息页面,确认密码要与新密码一致
    same: value => {
        return ($('.newPwd').val().trim() !== value) && '两次密码不一致,请重新输入'
    },

    // 1.7 发表文章中的验证规则
    articleTitle: [/^[\u4E00-\u9FA5a-zA-Z0-9_-]+$/, '标题只能是中英文, 数字下划线中划线组成', ],

    // 1.8 发表文章中的分类判断
    cate: function() {
        // 限制用户必须选择一个分类
        // 可以写if(){return ''} 
        return $('select[name=cate_id]').val().length == 0 && '请选择分类'
    },
    // 1.9 发表文章中分类名规则
    ctname: [/^[\u4E00-\u9FA5]+$/, "分类名只能是中文"],

    // 1.9 发表文章中分类别名规则
    aliname: [/^[a-z0-9]+$/, "别名只能是小写英文和数字组成"],
});